﻿using System;

namespace Mono.Cecil
{
	// Token: 0x02000065 RID: 101
	public abstract class EventReference : MemberReference
	{
		// Token: 0x17000071 RID: 113
		// (get) Token: 0x060003C1 RID: 961 RVA: 0x0001B360 File Offset: 0x00019560
		// (set) Token: 0x060003C2 RID: 962 RVA: 0x000035B5 File Offset: 0x000017B5
		public TypeReference EventType
		{
			get
			{
				return this.event_type;
			}
			set
			{
				this.event_type = value;
			}
		}

		// Token: 0x17000072 RID: 114
		// (get) Token: 0x060003C3 RID: 963 RVA: 0x0001B378 File Offset: 0x00019578
		public override string FullName
		{
			get
			{
				return this.event_type.FullName + " " + base.MemberFullName();
			}
		}

		// Token: 0x060003C4 RID: 964 RVA: 0x000035BF File Offset: 0x000017BF
		protected EventReference(string name, TypeReference eventType) : base(name)
		{
			Mixin.CheckType(eventType, Mixin.Argument.eventType);
			this.event_type = eventType;
		}

		// Token: 0x060003C5 RID: 965 RVA: 0x0001B3A8 File Offset: 0x000195A8
		protected override IMemberDefinition ResolveDefinition()
		{
			return this.Resolve();
		}

		// Token: 0x060003C6 RID: 966
		public new abstract EventDefinition Resolve();

		// Token: 0x040000F6 RID: 246
		private TypeReference event_type;
	}
}
